#=============================================================================================
# @TITLE					New Database - 5rd step.
#
# @NUMBER					WDBM_FKT_01024
#
# @DESCRIPTION		A new database will be created by using the database wizard.
#
# @EXP_RESULT			The service is running.
#
# @REQUIREMENTS		Test: WDBM_FKT_01000; WDBM_FKT_00100; WDBM_FKT_01020; WDBM_FKT_01021;
# @								WDBM_FKT_01022; WDBM_FKT_01023;
#=============================================================================================

static table_general_head_ok = 1;
static table_general_head [] = {"Name","Value","New Value","Description"};

static table_extended_head_ok = 1;
static table_extended_head [] = {"Name","Value","New Value","Description"};

										#Name, Default Value, minValue, maxValue
										#Name & default value must be declared.
										#minValue & maxValue are optional --> enter empty String
static parameter_value_array_g [] = {
										{"RESTART_SHUTDOWN","MANUAL","MANUAL","AUTO"},
										{"MAXARCHIVELOGS","1","1","32"},
										{"MAXDATADEVSPACES","1","1","255"},
										{"MAXBACKUPDEVS","2","1","32"},
										{"LOG_MODE","SINGLE","SINGLE","DUAL"},
										{"LOG_SEGMENT_SIZE","0","0",""},
										{"RESERVED_REDO_SIZE","0","0",""},										
										{"MAXCPU","1","1","128"},										
										{"MAXUSERTASKS","50","1",""},
										{"MAXLOCKS","2520","500",""},
										{"MAXDATAPAGES","10000","3000","2147483647"}										
									 };
static parameter_count = 9;
#=============================================================================================
# @STEP 1			Getting kernel version and instance type.
#=============================================================================================
set_window (work_window, 1);
tbl_get_cell_data("1x1_5","#3","#1",cell_value_1);
tbl_get_cell_data("1x1_5","#4","#1",cell_value_2);

if (cell_value_1 == "KERNELVERSION") {
	tl_step("Kernelversion","0","correctly displayed");
} else {
	tl_step(cell_value_1 & " - is shown in the first tablefield","0","not expected");
}

if (cell_value_2 == "INSTANCE_TYPE") {
	tl_step ("INSTANCE_TYPE", "0", "correctly displayed");
} else {
	tl_step (cell_value_2 & " - is shown in the first tablefield", "0", "not expected");
}
#=============================================================================================
# @STEP 2			Checking all general parameters.
#=============================================================================================
for (i=0;i<parameter_count;i++) {
			
	set_window (work_window, 2);
	web_link_click(parameter_value_array_g [i,0]);
	
	set_window (work_window, 2);
	obj_get_info ("Information - CACHES - DB73", "text", text);
	obj_get_info ("1x1", "text", value1);
	obj_get_info ("1x1_2", "text", value2);
	obj_get_info ("Value", "value", value3);
	
	if (match (text, parameter_value_array_g [i,0]) != 0 &&
		match (value1, parameter_value_array_g [i,0]) != 0 &&
		match (value2, parameter_value_array_g [i,1]) != 0 &&
		match (value3, parameter_value_array_g [i,1]) != 0) {
		
		tl_step ("Parameter Properties - " & parameter_value_array_g [i,0] , "0", "All checked values are okay");
	} else {
		
		tl_step ("Parameter Properties - " & parameter_value_array_g [i,0] , "1", "Not all checked values are okay");
	}
#=============================================================================================
# @STEP 4.1			Checking low limit.
#=============================================================================================
	if (parameter_value_array_g [i,2] != "") {
	
		set_window (work_window, 2);
		edit_set ("Value", parameter_value_array_g [i,2]);
		
		if (parameter_value_array_g [i,1] != parameter_value_array_g [i,2]) {
			
			set_window (work_window, 2);
			wait(3);
			web_link_click ("OK");			
			wait(5);
		
			set_window (work_window, 2);
			tbl_get_cell_data ("1x1_5", "#"&i+5, "#3", cell_value);
			
			if (cell_value == parameter_value_array_g [i,2]) {
				
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min)", "0", "New value appeared in list");
			} else {
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min)", "1", "New value did not appeare in list");
			}
		} else {
			wait(4);
			set_window (work_window, 2);
			web_link_click ("Cancel");
		}
		
		set_window (work_window, 2);
		web_link_click (parameter_value_array_g [i,0]);
		
		if (is_numeric (parameter_value_array_g [i,2]) == -1 &&
			parameter_value_array_g [i,2] != "") {
			
			set_window (work_window, 2);
			edit_set ("Value", (parameter_value_array_g [i,2] - 1));
			
			wait(3);
			web_link_click ("OK");				
			wait(5);
			set_window (work_window, 2);
			
			if (obj_exists("msgerro",0) == 0) {
				
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min, 1 under)","0","Constraint error occured");
				
				wait(3);
				set_window (work_window, 2);
				web_link_click ("OK");
			} else {
				
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (min, 1 under)","1","Constraint error did not occure");
				
				set_window (work_window, 2);
				web_link_click (parameter_value_array_g [i,0]);
				wait(3);
			}
		}
	}
#=============================================================================================
# @STEP 4.2			Checking upper limit.
#=============================================================================================
	if (parameter_value_array_g [i,3] != "") {
	
		set_window (work_window, 2);
		edit_set ("Value", parameter_value_array_g [i,3]);
		
		if (parameter_value_array_g [i,1] != parameter_value_array_g [i,3]) {
			
			wait(3);
			set_window (work_window, 2);
			web_link_click ("OK");			
			wait(5);
		
			set_window (work_window, 2);
			tbl_get_cell_data ("1x1_5", "#"&i+5, "#3", cell_value);
			
			if (cell_value == parameter_value_array_g [i,3]) {
				
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max)", "0", "New value appeared in list");
			} else {
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max)", "1", "New value did not appeare in list");
			}
		} else {
			set_window (work_window, 2);
			web_link_click ("Cancel");
			wait(3);
		}
		
		set_window (work_window, 2);
		web_link_click (parameter_value_array_g [i,0]);
		wait(3);
		
		if (is_numeric (parameter_value_array_g [i,3]) == -1 &&
			parameter_value_array_g [i,3] != "") {
			
			set_window (work_window, 2);
			edit_set ("Value", (parameter_value_array_g [i,3] + 1));
			
			web_link_click ("OK");				
			wait(5);
			set_window (work_window, 2);
			
			if (obj_exists("msgerro",0) == 0) {
				
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max, 1 over)","0","Constraint error occured");

				set_window (work_window, 2);
				web_link_click ("OK");
			} else {
				
				tl_step ("Parameter check - " & parameter_value_array_g [i,0] & " - new value (max, 1 over)","1","Constraint error did not occure");
				
				set_window (work_window, 2);
				web_link_click (parameter_value_array_g [i,0]);
				wait(3);
			}
		}
		wait(3);
		set_window (work_window, 2);
		if (obj_exists ("Cancel", 0) != 0) {
		
			set_window (browser_window_name, 3);
			toolbar_button_press("MainToolBar", "ReLoad");
		}

		set_window (work_window, 2);
		web_link_click ("Cancel");
		wait(5);
	} else {
		wait(3);
		set_window (work_window, 2);
		web_link_click ("Cancel");
		wait(3);
	}
	
	#Setting back default value
	
	set_window (work_window, 2);
	web_link_click (parameter_value_array_g [i,0]);
	
	set_window (work_window, 2);
	obj_get_info("Value", "text", text);
	
	if (text != parameter_value_array_g [i,1]) {
	
		edit_set ("Value", (parameter_value_array_g [i,1]));
		web_link_click ("OK");
		
		wait(5);
	} else {
		set_window (work_window, 2);
		web_link_click ("Cancel");
	}
}
#=============================================================================================
# @STEP 3			Changing to next step.
#=============================================================================================
set_window(work_window, 1);
web_link_click("Next");

wait(3);
#=============================================================================================
# @STEP 4			Checking to browser window content.
#=============================================================================================
set_window(work_window, 1);

tbl_get_cell_data("Data Devspaces","#1","#1",cell_value_3);

tbl_get_cell_data("1x1","#1","#2",cell_value_4);

if (cell_value_3 == "Data Devspaces" && cell_value_4 == "Specify the devspaces.") {
	tl_step("Next step was reached","0","Window content correct");
} else {
	tl_step("Next step was not reached","1","Window content incorrect");
}
